//
//  YiJiPayPlugin.h
//  YiJiPayPlugin
//
//  Created by zq on 14-4-22.
//  Copyright (c) 2014年 zq. All rights reserved.
//


/****************插件启动参数定义 **************/

// 插件运行模式，"00":为产品环境(缺省默认）, "01":为测试环境
extern NSString* const kYjParamMode;
extern NSString* const kYjModeProduct; // @"00"
extern NSString* const kYjModeTesting; // @"01"

// 合作商户账户ID，由商户向易极付申请，必需参数
extern NSString* const kYjParamPartnerID;

// 卖家ID，由商户向易极付申请（特约商户就是partnerId），支付必需参数
extern NSString* const kYjParamSellerID;

// 订单号，由易极付后台生成，支付必需参数
extern NSString* const kYjParamOrderID;

// 签名key, 由商户向易极付申请, 必需参数
extern NSString* const kYjParamSignKey;

// 会员ID号，由商户平台创建的ID，支付必需参数
extern NSString* const kYjParamMemberID;

// 异步支付完，检查交易状态的次数(默认12次)
extern NSString* const kYjResultCheckNum;

// 外部订单号，由商户平台创建的订单号，可选参数
extern NSString* const kYjParamOutOrderID;

// 返回状态码 "200":成功，"201":交易中，"300":取消，"400":失败，"401":数据异常（校验失败、参数错误等）
extern NSString* const kYjResultStatus;

// 返回信息或提示，可用于显示
extern NSString* const kYjResultMessage;




/****************支付插件回调 **************/

@protocol YiJiPayPluginDelegate <NSObject>
@required
/**
 *  易极付插件【支付】结果回调
 *  @result result 结果信息
 */
-(void)YiJiPayPluginResult:(NSDictionary*)result;

@end


/****************支付插件入口 **************/

@interface YiJiPayPlugin : NSObject

/**
 *  @brief 支付接口
 *  @param params 调用参数
 *  @param viewController 切入插件的UIViewController，插件返回时会回到此界面
 *  @param delegate 交易成功与否会调用此代理的接口
 
 * @return 返回
 * YES 调用插件成功
 * NO  调用插件失败
 */
+ (BOOL)startPay:(NSDictionary *)params
  viewController:(UIViewController *)viewController
        delegate:(id<YiJiPayPluginDelegate>)delegate;
@end
